﻿#define _CRT_SECURE_NO_WARNINGS
//
//#include<stdio.h>
//
//int main()
//{
//	int arr[10] = { 0 };
//	int* p = arr;
//
//	for (int i = 0; i < 10; i++)
//	{
//		printf("%d ", *(p + i));
//	}
//
//	return 0;
//}

#include<stdio.h>
//
//int main()
//{
//	int n = 13;
//	int m = 13;
//	for (int i = 1; i <= n; i++)
//	{
//		if (i >= n / 2)
//		{
//			for (int j = 0; j < (n - i) / 2; j++)
//			{
//				printf(" ");
//			}
//			for (int j = 0; j < 2*i - 1; j++)
//			{
//				printf("*");
//			}
//			printf("\n");
//		}
//		else
//		{
//			
//		}
//	}
//
//
//	return 0;
//}

//



//int main()
//{
//	int n = 0;
//
//	scanf("%d", &n);
//
//	int i = 0;
//	
//
//	for (i = 0; i < n / 2; i++)
//	{
//		for (int j = 0; j < (n - (2 * i + 1)) / 2; j++)
//			printf(" ");
//		for (int j = 0; j < 2 * i + 1; j++)
//			printf("*");
//		printf("\n");
//	}
//
//	for (i = 0; i < n - n / 2; i++)
//	{
//		for (int j = 0; j < i; j++)
//			printf(" ");
//		for (int j = 0; j < n - 2 * i; j++)
//			printf("*");
//		printf("\n");
//	}
//	
//
//	return 0;
//}

//int main()
//{
//	int line = 0;
//	int i = 0;
//	scanf("%d", &line);//7
//	//打印上半部分
//	for (i = 0; i < line; i++)
//	{
//		//打印一行
//		//打印空格
//		int j = 0;
//		for (j = 0; j < line - 1 - i; j++)
//		{
//			printf(" ");
//		}
//		//打印*
//		for (j = 0; j < 2 * i + 1; j++)
//		{
//			printf("*");
//		}
//		printf("\n");
//	}
//
//
//	//打印下半部分
//	for (i = 0; i < line - 1; i++)
//	{
//		//打印一行
//		int j = 0;
//		for (j = 0; j <= i; j++)
//		{
//			printf(" ");
//		}
//		for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
//		{
//			printf("*");
//		}
//		printf("\n");
//	}
//	return 0;
//}
//#include<math.h>
//
//int main()
//{
//	for (int i = 1; i <= 100000; i++)
//	{
//		int num = i;
//		int n = 0;
//		while (num)
//		{
//			num /= 10;
//			n++;
//		}
//		num = i;
//
//		int sum = 0;
//		while (num)
//		{
//			sum += (int)pow(num % 10, n);
//			num /= 10;
//		}
//
//		if (sum == i)
//		{
//			printf("%d ", i);
//		}
//	}
//	printf("\n");
//
//	return 0;
//}


//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	int num = a;
//	int sum = 0;
//
//	for (int i = 0; i < 5; i++)
//	{
//		sum += a;
//		a *= 10;
//		a += num;
//	}
//	printf("%d\n", sum);
//	return 0;
//}

//#include<stdio.h>
//#include<string.h>
//int main()
//{
//    char arr[10001] = { 0 };
//    scanf("%s", arr);
//
//    int len = strlen(arr);
//
//    char* p = &arr[len - 1];
//
//    while (len >= 0)
//    {
//        printf("%c", *p);
//        p--;
//        len--;
//    }
//
//
//
//    return 0;
//}

//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//
//	printf("%d\n", 2 * n - 1);
//
//	return 0;
//}


//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int* p1 = arr;
//	int* p2 = &arr[9];
//
//	printf("%d\n", p2 - p1);
//	printf("%d\n", p1 - p2);
//
//
//	return 0;
//}

//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
//	int* p = arr;
//	printf("%p\n", p);
//	printf("%p\n", arr);
//	printf("%p\n", &arr[0]);
//	return 0;
//}
//
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
//	int* p = arr;
//	
//	for (int i = 0; i < 10; i++)
//	{
//		*(p + i) = i;
//	}
//	
//	for (int i = 0; i < 10; i++)
//	{
//		printf("%d ", *(p + i));
//	}
//
//	return 0;
//}

//int main()
//{
//	int arr[5] = { 1,2,3,4,5 };
//	int * pa = arr;
//	int* * ppa = &pa;
//
//	for (int i = 0; i < 5; i++)
//	{
//		printf("%d ", *(*ppa + i));
//	}
//
//	printf("\n");
//	return 0;
//}

//struct Stu //类型声明
//{
//	char name[15];//名字
//	int age;	//年龄
//}s1,s2,s3;//这里定义了三个变量
//
//struct Stu s4;//也可以这样定义全局变量
//
//struct Stu s5 = { "zhangSan",20 };//定义的时候可以初始化
//
//int main()
//{
//	struct Stu s6;//这里定义了一个局部变量，也可以初始化
//	return 0;
//}

//typedef struct Stu
//{
//	char name[10];
//	int age;
//}Stu;//这里是用typedef重新给struct Stu起了个名字，不是创建了一个变量

//struct Stu
//{
//	char name[15];
//	int age;
//};
//
//int main()
//{
//	struct Stu s = { "zhangSan", 20 };
//	printf("%s %d", s.name, s.age);
//	return 0;
//}

struct Stu
{
	char name[15];
	int age;
};

int main()
{
	struct Stu s = { "zhangSan", 20 };
	struct Stu* ps = &s;
	printf("%s %d", ps->name, ps->age);
	printf("%s %d", (*ps).name, (*ps).age);
	return 0;
}